package homework.day01;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 *
 * 使用匿名内部类和lambda两种写法
 *
 * 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 *
 * @author Xiloer
 *
 */

public class Test02 {
    public static void main(String[] args) {
        //定义当前项目文件下的目录
        File dir = new File(".");
        //如果该目录存在
        if(dir.isDirectory()){
            //定义一个subs目录，并dir目录的文件是否符合条件,返回目录下文件名中包含“s”的文件
            File[] subs = dir.listFiles(file-> file.getName().contains("s"));
            /*
            //定义一个subs目录，并dir目录的文件是否符合条件
            File[] subs = dir.listFiles(new FileFilter() {
                public boolean accept(File file) {
                    //返回目录下文件名中包含“s”的文件
                    return file.getName().contains("s");
                }
            });
            */
            //遍历subs目录下所有文件
            for(int i=0;i<subs.length;i++){
                //输出subs目录下文件名
                System.out.println(subs[i].getName());
            }
        }
    }
}